【Python】Jsonファイルを読み込むときに発生するエラーの解決方法 您所在的位置:网站首页 json decode error 翻译 【Python】Jsonファイルを読み込むときに発生するエラーの解決方法

【Python】Jsonファイルを読み込むときに発生するエラーの解決方法

2024-07-11 16:01| 来源: 网络整理| 查看: 265

【Python】Jsonファイルを読み込むときに発生するエラーの解決方法 投稿: 2021年03月10日

こんにちは、にわこまです。

今回は、pythonでjsonファイルを読み込もうとしたときに発生するエラーの解決方法を紹介します。具体的に言うと以下のようなエラーを解決します。

「json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line x column y (char z)」

※x、y、zにはそれぞれ数字が代入されます。

 

誤字脱字や分からない点、解決し欲しい問題がありましたらご連絡お願いいたします。

メールまたはTwitterのDMまで!

 

 

スポンサードサーチ

 json.decoder.JSONDecodeErrorの解決方法

jsonファイルのダブルクォーテーション(”)やカンマ(,)、中括弧({})を確認する

 

ダブルクォーテーション、カンマ、中括弧の過不足を確認することでjson.decode.JSONDecodeErrorを解決することができます。

 

そもそも「Expecting property name enclosed in double quotes」とは、「プロパティ名がダブルクォーテーションで囲まれていません」というエラーです。

jsonファイルではシングルクォーテーション(’)は使えないため、文字列は全てダブルクォーテーションで囲まなければなりません。

 

Jsonライブラリ 公式ドキュメントはこちら

  

 

エラーのサンプルコード1(ダブルクォーテーション)

エラーが発生するサンプルコードとその実行結果を以下に示します。また、jsonファイルを以下に示します。

import json path = "./json_valueerror.json" with open(path, encoding="utf-8", mode="r") as f: d = json.load(f) print(d) === 実行結果 === Traceback (most recent call last): File "json_valueerror.py", line 5, in d = json.load(f) ・ ・ ・ json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 2 column 3 (char 4) { 'Crow':{ "X":12, "Y":34, "Z":23 }, "Duck":{ "X":10, "Y":29, "Z":20 }, "Eagle":{ "X":19, "Y":35, "Z":25 }, "Flamingo":{ "X":30, "Y":33, "Z":31 } }

 

上記のサンプルコードはjsonファイルを読み込み、その内容を表示するコードです。

 

jsonファイルの2行目の「Crow」がシングルクォーテーションで囲まれているためエラーが発生しました。

シングルクォーテーションをダブルクォーテーションに変えることでエラーを解決することができます。

 

エラーを解決したjsonファイルを以下に示します。

{ "Crow":{ "X":12, "Y":34, "Z":23 }, "Duck":{ "X":10, "Y":29, "Z":20 }, "Eagle":{ "X":19, "Y":35, "Z":25 }, "Flamingo":{ "X":30, "Y":33, "Z":31 } }

 

pythonファイルの実行結果を以下に示します。pythonファイルは特に直す必要はありません。

{'Crow': {'X': 12, 'Y': 34, 'Z': 23}, 'Duck': {'X': 10, 'Y': 29, 'Z': 20}, 'Eagle': {'X': 19, 'Y': 35, 'Z': 25}, 'Flamingo': {'X': 30, 'Y': 33, 'Z': 31}}

 

 

エラーのサンプルコード2(カンマ)

エラーが発生するサンプルコードとその実行結果を以下に示します。また、jsonファイルを以下に示します。

import json path = "./json_valueerror.json" with open(path, encoding="utf-8", mode="r") as f: d = json.load(f) print(d) === 実行結果 === Traceback (most recent call last): File "json_valueerror.py", line 5, in d = json.load(f) ・ ・ ・ json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 6 column 3 (char 51) { "Crow":{ "X":12, "Y":34, "Z":23, }, "Duck":{ "X":10, "Y":29, "Z":20 }, "Eagle":{ "X":19, "Y":35, "Z":25 }, "Flamingo":{ "X":30, "Y":33, "Z":31 } }

 

上記のサンプルコードはjsonファイルを読み込み、その内容を表示するコードです。

 

jsonファイルの5行目の「」の後ろにカンマがあるためエラーが発生しました。

jsonファイルの5行目のカンマを削除することでエラーを解決することができます。

 

エラーを解決したjsonファイルを以下に示します。

{ "Crow":{ "X":12, "Y":34, "Z":23 }, "Duck":{ "X":10, "Y":29, "Z":20 }, "Eagle":{ "X":19, "Y":35, "Z":25 }, "Flamingo":{ "X":30, "Y":33, "Z":31 } }

  

pythonファイルの実行結果を以下に示します。pythonファイルは特に直す必要はありません。

{'Crow': {'X': 12, 'Y': 34, 'Z': 23}, 'Duck': {'X': 10, 'Y': 29, 'Z': 20}, 'Eagle': {'X': 19, 'Y': 35, 'Z': 25}, 'Flamingo': {'X': 30, 'Y': 33, 'Z': 31}}

 

 

まとめ まとめの画像

今回は、pythonでjsonファイルを読み込もうとしたときに発生するエラーの解決方法を紹介しました。

具体的には「json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line x column y (char z)」というエラーを解決する方法を紹介しました。

JSONDecodeErrorとあるように、jsonのエラーであるためjsonファイルを確認するようにしましょう!

 

改めて解決方法を以下に示します。

jsonファイルのダブルクォーテーション(”)やカンマ(,)、中括弧({})を確認する

  

解決してほしいエラー、問題などがありましたらメールまたはTwitterのDMまで!

 

  

最後までお読みいただきありがとうございます。

Twitterでシェア

スポンサードサーチ

関連記事 【Python】「list index out of range」の解決方法 【1Z0-815-JPN】Java SE 11 Silver 合格体験記 学習方法や参考書を紹介! 【1Z0-815-JPN】Java SE 11 Silver 合格証明書の取得方法 【1Z0-815-JPN】Java SE 11 Silver 受験方法 【Python】自作loggerの作り方


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有